Module: RDoc
- Defined in:
- lib/rdoc.rb,
lib/rdoc/version.rb,
lib/rdoc/known_classes.rb
Overview
RDoc produces documentation for Ruby source files by parsing the source and extracting the definition for classes, modules, methods, includes and requires. It associates these with optional documentation contained in an immediately preceding comment block then renders the result using an output formatter.
For a simple introduction to writing or generating documentation using RDoc see the README.
Roadmap
If you think you found a bug in RDoc see CONTRIBUTING@Bugs
If you want to use RDoc to create documentation for your Ruby source files, see RDoc::Markup and refer to rdoc --help
for command line usage.
If you want to set the default markup format see RDoc::Markup@Supported+Formats
If you want to store rdoc configuration in your gem (such as the default markup format) see RDoc::Options@Saved+Options
If you want to write documentation for Ruby files see RDoc::Parser::Ruby
If you want to write documentation for extensions written in C see RDoc::Parser::C
If you want to generate documentation using rake
see RDoc::Task.
If you want to drive RDoc programmatically, see RDoc::RDoc.
If you want to use the library to format text blocks into HTML or other formats, look at RDoc::Markup.
If you want to make an RDoc plugin such as a generator or directive handler see RDoc::RDoc.
If you want to write your own output generator see RDoc::Generator.
If you want an overview of how RDoc works see CONTRIBUTING
Credits
RDoc is currently being maintained by Eric Hodel <[email protected]>.
Dave Thomas <[email protected]> is the original author of RDoc.
-
The Ruby parser in rdoc/parse.rb is based heavily on the outstanding work of Keiju ISHITSUKA of Nippon Rational Inc, who produced the Ruby parser for irb and the rtags package.
Defined Under Namespace
Modules: Encoding, Generator, I18n, RI, Text, TokenStream Classes: Alias, AnonClass, AnyMethod, Attr, ClassModule, CodeObject, Comment, Constant, Context, CrossReference, ERBIO, ERBPartial, Error, Extend, GhostMethod, Include, Markdown, Markup, MetaMethod, MethodAttr, Mixin, NormalClass, NormalModule, Options, Parser, RD, RDoc, Require, RubygemsHook, Servlet, SingleClass, Stats, Store, Task, TomDoc, TopLevel
Constant Summary collapse
- VISIBILITIES =
Method visibilities
[:public, :protected, :private]
- DOT_DOC_FILENAME =
Name of the dotfile that contains the description of files to be processed in the current directory
".document"
- GENERAL_MODIFIERS =
General RDoc modifiers
%w[nodoc].freeze
- CLASS_MODIFIERS =
RDoc modifiers for classes
GENERAL_MODIFIERS
- ATTR_MODIFIERS =
RDoc modifiers for attributes
GENERAL_MODIFIERS
- CONSTANT_MODIFIERS =
RDoc modifiers for constants
GENERAL_MODIFIERS
- METHOD_MODIFIERS =
RDoc modifiers for methods
GENERAL_MODIFIERS + %w[arg args yield yields notnew not-new not_new doc]
- VERSION =
RDoc version you are using
'6.6.3.1'
- KNOWN_CLASSES =
Ruby’s built-in classes, modules and exceptions
{ "rb_cArray" => "Array", "rb_cBasicObject" => "BasicObject", "rb_cBignum" => "Bignum", "rb_cClass" => "Class", "rb_cData" => "Data", "rb_cDir" => "Dir", "rb_cEncoding" => "Encoding", "rb_cFalseClass" => "FalseClass", "rb_cFile" => "File", "rb_cFixnum" => "Fixnum", "rb_cFloat" => "Float", "rb_cHash" => "Hash", "rb_cIO" => "IO", "rb_cInteger" => "Integer", "rb_cModule" => "Module", "rb_cNilClass" => "NilClass", "rb_cNumeric" => "Numeric", "rb_cObject" => "Object", "rb_cProc" => "Proc", "rb_cRange" => "Range", "rb_cRefinement" => "Refinement", "rb_cRegexp" => "Regexp", "rb_cRubyVM" => "RubyVM", "rb_cSocket" => "Socket", "rb_cString" => "String", "rb_cStruct" => "Struct", "rb_cSymbol" => "Symbol", "rb_cThread" => "Thread", "rb_cTime" => "Time", "rb_cTrueClass" => "TrueClass", "rb_eArgError" => "ArgumentError", "rb_eEOFError" => "EOFError", "rb_eException" => "Exception", "rb_eFatal" => "fatal", "rb_eFloatDomainError" => "FloatDomainError", "rb_eIOError" => "IOError", "rb_eIndexError" => "IndexError", "rb_eInterrupt" => "Interrupt", "rb_eLoadError" => "LoadError", "rb_eNameError" => "NameError", "rb_eNoMemError" => "NoMemoryError", "rb_eNotImpError" => "NotImplementedError", "rb_eRangeError" => "RangeError", "rb_eRuntimeError" => "RuntimeError", "rb_eScriptError" => "ScriptError", "rb_eSecurityError" => "SecurityError", "rb_eSignal" => "SignalException", "rb_eStandardError" => "StandardError", "rb_eSyntaxError" => "SyntaxError", "rb_eSystemCallError" => "SystemCallError", "rb_eSystemExit" => "SystemExit", "rb_eTypeError" => "TypeError", "rb_eZeroDivError" => "ZeroDivisionError", "rb_mComparable" => "Comparable", "rb_mEnumerable" => "Enumerable", "rb_mErrno" => "Errno", "rb_mFConst" => "File::Constants", "rb_mFileTest" => "FileTest", "rb_mGC" => "GC", "rb_mKernel" => "Kernel", "rb_mMath" => "Math", "rb_mProcess" => "Process" }
Class Method Summary collapse
-
.home ⇒ Object
Seaches and returns the directory for settings.
-
.load_yaml ⇒ Object
Loads the best available YAML library.
Class Method Details
.home ⇒ Object
Seaches and returns the directory for settings.
-
$HOME/.rdoc
directory, if it exists. -
The
rdoc
directory under the path specified by theXDG_DATA_HOME
environment variable, if it is set. -
$HOME/.local/share/rdoc
directory.
Other than the home directory, the containing directory will be created automatically.
134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 |
# File 'lib/rdoc.rb', line 134 def self.home rdoc_dir = begin File.('~/.rdoc') rescue ArgumentError end if File.directory?(rdoc_dir) rdoc_dir else require 'fileutils' begin # XDG xdg_data_home = ENV["XDG_DATA_HOME"] || File.join(File.("~"), '.local', 'share') unless File.exist?(xdg_data_home) FileUtils.mkdir_p xdg_data_home end File.join xdg_data_home, "rdoc" rescue Errno::EACCES end end end |
.load_yaml ⇒ Object
Loads the best available YAML library.
107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 |
# File 'lib/rdoc.rb', line 107 def self.load_yaml begin gem 'psych' rescue NameError => e # --disable-gems raise unless e.name == :gem rescue Gem::LoadError end begin require 'psych' rescue ::LoadError ensure require 'yaml' end end |